package cn.zhukelili.expand;

import java.util.Observable;
import java.util.Observer;

/**
 * @description: 李斯
 * @author: hhbeast
 * @since: 2018/7/22 20:10
 */
public class LiSi implements Observer {
    //首先李斯是个观察者，一旦韩非子有活动，他就知道，他就要向老板汇报
    public void update(Observable observable, Object obj) {
        System.out.println("李斯：观察到韩非子活动，开始向老板汇报了...");
        this.reportToQinShiHuang(obj.toString());
        System.out.println("李斯：汇报完毕...\n");
    }

    //汇报给秦始皇
    private void reportToQinShiHuang(String reportContext) {
        System.out.println("李斯：报告，秦老板！韩非子有活动了--->" + reportContext);
    }
}

/*
应java.util.Observer接口要求update传递过来两个变量，Observable
这个变量我们没用到（接口中定义必须实现的），就不处理了。其他两个观察者实现类也是
相同的改动，不再赘述。
场景类没有改动，运行结果也完全相同，大家看看我们使用了Java提供的观察者模式后
是不是简单了很多，所以在Java的世界里横行时，多看看API，有帮助很大，很多东西Java已
经帮你设计了一个良好的框架。
 */
